home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / PRUS101 / PRN2TDT.PAS < prev    next >
Pascal/Delphi Source File  |  1994-12-13  |  5KB  |  178 lines

  1. program prnesc2tdt;
  2.  
  3. { Programm zum convertieren der drucker.dat in *.tdt }
  4.  
  5. uses dos, crt;
  6.  
  7. type
  8.   TDruckerdef = RECORD
  9.                   Dele                : LongInt;
  10.                   name,
  11.                   init,
  12.                   fettan,
  13.                   fettaus,
  14.                   unteran,
  15.                   unteraus,
  16.                   breitan,
  17.                   breitaus,
  18.                   kursivan,
  19.                   kursivaus,
  20.                   hochan,
  21.                   hochaus,
  22.                   tiefan,
  23.                   tiefaus,
  24.                   schmalan,
  25.                   schmalaus,
  26.                   picaan,
  27.                   picaaus,
  28.                   elitean,
  29.                   eliteaus,
  30.                   lqan,
  31.                   lqaus  :string[25];
  32.                   Druckerart : Word;
  33.                 END;
  34.  
  35. var fdruck : file of TDruckerdef;
  36.  
  37. procedure maketdt;
  38.  
  39. var def : TDruckerDef;
  40.     tdt : text;
  41.     datei : string[8];
  42.     x : Byte;
  43.  
  44. begin
  45.   read(fdruck, def);
  46.   writeln(def.name);
  47.   write('Wie soll der TDT heißen ( mit q überspringen) > ');
  48.   readln(datei);
  49.   if datei = 'q' then exit;
  50.   assign(tdt, datei+'.tdt');
  51.   rewrite(tdt);
  52.   writeln(tdt, 'TDT');
  53.   writeln(tdt, 'V) 1.00');
  54.   writeln(tdt, '; Dies ist eine TDT Datei für den');
  55.   writeln(tdt, ';');
  56.   writeln(tdt, 'N) '+def.name);
  57.   writeln(tdt, ';');
  58.   writeln(tdt, '; Das FPRINT Programmpaket ist eine Druckertreiber-Sammlung für');
  59.   writeln(tdt, '; im Projekt PRUSSG (c) Matthias TSP 1994');
  60.   writeln(tdt, ';');
  61.   writeln(tdt, '; Dezimal-Zeichen mit führendem #');
  62.   writeln(tdt, '; Variablen als n');
  63.   writeln(tdt, ';');
  64.   write(tdt, ' 1) ');
  65.   with def do
  66.     begin
  67.       for x := 1 to 25 do
  68.         if init[x] <> #0 then write(tdt, '#', ord(init[x]),' ');
  69.     end;
  70.   writeln(tdt, '  ; Initialisierung des Druckers');
  71.   write(tdt, ' 2) ');
  72.   with def do
  73.     begin
  74.       for x := 1 to 25 do
  75.         if FettAn[x] <> #0 then write(tdt, '#', ord(FettAn[x]),' ');
  76.     end;
  77.   writeln(tdt, '  ; FettAn');
  78.   write(tdt, ' 3) ');
  79.   with def do
  80.     begin
  81.       for x := 1 to 25 do
  82.         if FettAus[x] <> #0 then write(tdt, '#', ord(FettAus[x]),' ');
  83.     end;
  84.   writeln(tdt, '  ; FettAus');
  85.   write(tdt, ' 4) ');
  86.   with def do
  87.     begin
  88.       for x := 1 to 25 do
  89.         if UnterAn[x] <> #0 then write(tdt, '#', ord(UnterAn[x]),' ');
  90.     end;
  91.   writeln(tdt, '  ; UnterAn');
  92.   write(tdt, ' 5) ');
  93.   with def do
  94.     begin
  95.       for x := 1 to 25 do
  96.         if UnterAus[x] <> #0 then write(tdt, '#', ord(UnterAus[x]),' ');
  97.     end;
  98.   writeln(tdt, '  ; UnterAus');
  99.   write(tdt, ' 6) ');
  100.   with def do
  101.     begin
  102.       for x := 1 to 25 do
  103.         if BreitAn[x] <> #0 then write(tdt, '#', ord(BreitAn[x]),' ');
  104.     end;
  105.   writeln(tdt, '  ; BreitAn');
  106.   write(tdt, ' 7) ');
  107.   with def do
  108.     begin
  109.       for x := 1 to 25 do
  110.         if BreitAus[x] <> #0 then write(tdt, '#', ord(BreitAus[x]),' ');
  111.     end;
  112.   writeln(tdt, '  ; BreitAus');
  113.   write(tdt, ' 8) ');
  114.   with def do
  115.     begin
  116.       for x := 1 to 25 do
  117.         if KursivAn[x] <> #0 then write(tdt, '#', ord(KursivAn[x]),' ');
  118.     end;
  119.   writeln(tdt, '  ; KursivAn');
  120.   write(tdt, ' 9) ');
  121.   with def do
  122.     begin
  123.       for x := 1 to 25 do
  124.         if KursivAus[x] <> #0 then write(tdt, '#', ord(KursivAus[x]),' ');
  125.     end;
  126.   writeln(tdt, '  ; KursivAus');
  127.   write(tdt, '10) ');
  128.   with def do
  129.     begin
  130.       for x := 1 to 25 do
  131.         if HochAn[x] <> #0 then write(tdt, '#', ord(HochAn[x]),' ');
  132.     end;
  133.   writeln(tdt, '  ; HochAn');
  134.   write(tdt, '11) ');
  135.   with def do
  136.     begin
  137.       for x := 1 to 25 do
  138.         if HochAus[x] <> #0 then write(tdt, '#', ord(HochAus[x]),' ');
  139.     end;
  140.   writeln(tdt, '  ; HochAus');
  141.   write(tdt, '12) ');
  142.   with def do
  143.     begin
  144.       for x := 1 to 25 do
  145.         if TiefAn[x] <> #0 then write(tdt, '#', ord(TiefAn[x]),' ');
  146.     end;
  147.   writeln(tdt, '  ; TiefAn');
  148.   write(tdt, '13) ');
  149.   with def do
  150.     begin
  151.       for x := 1 to 25 do
  152.         if TiefAus[x] <> #0 then write(tdt, '#', ord(TiefAus[x]),' ');
  153.     end;
  154.   writeln(tdt, '  ; TiefAus');
  155.   write(tdt, '14) ');
  156.   with def do
  157.     begin
  158.       for x := 1 to 25 do
  159.         if SchmalAn[x] <> #0 then write(tdt, '#', ord(SchmalAn[x]),' ');
  160.     end;
  161.   writeln(tdt, '  ; SchmalAn');
  162.   write(tdt, '15) ');
  163.   with def do
  164.     begin
  165.       for x := 1 to 25 do
  166.         if SchmalAus[x] <> #0 then write(tdt, '#', ord(SchmalAus[x]),' ');
  167.     end;
  168.   writeln(tdt, '  ; SchmalAus');
  169.   close(tdt);
  170. end;
  171.  
  172. begin
  173.   clrscr;
  174.   assign(fdruck, 'drucker.dat');
  175.   reset(fdruck);
  176.   while not eof(fdruck) do maketdt;
  177.   close(fdruck);
  178. end.